﻿using sipfe.model.dataAccess;
using sipfe.model.mante;
using sipfe.model.sqlExecutor;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sipfe.service.mante
{
    public class CompendioManteService
    {
        /*AGREGAR TABLAS*/

        public IList<dynamic> listaTablaCompendio(string sw, string nameTable, string idTable)
        {
            String[] parametros = new String[] { sw, nameTable, idTable };
            String[] nombreParametros = new String[] { "sw", "nameTable", "idTable" };
            IList<dynamic> lista = SqlExecutorSP.executeStore("paSIPCompendio", parametros, nombreParametros);

            return lista;
        }

        public string[] AgregarTablaInpService(SIPMaeCompendio sipMaeCompendio)
        {
            CompendioManteDAO  compendioManteDAO  = new CompendioManteDAO();
            return compendioManteDAO.AgregarTablaInpDAO(sipMaeCompendio);
        }

        public string AgregarCompendioDetalleService(SIPDetCompendio sipDetCompendio)
        {
            CompendioManteDAO  compendioManteDAO  = new CompendioManteDAO();
            return compendioManteDAO.AgregarCompendioDetalleDAO(sipDetCompendio);
        }

        public string addItemAlGrupoService(SIPDetCompGrupo sipDetCompGrupo)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            decimal idCompGrupo = compendioManteDAO.addItemAlGrupoDAO(sipDetCompGrupo);
            if (idCompGrupo > 0)
            {
                return "1";
            }
            return null;
        }


        /* UPDATE TABLAS*/
        public string[] updateMaeCompenedioService(SIPMaeCompendio sipMaeCompendio)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.updateMaeCompenedioDAO(sipMaeCompendio);
        }

        public string[] updateDetCompenedioService(SIPDetCompendio sipDetCompendio)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.updateDetCompenedioDAO(sipDetCompendio);
        }


        /* LISTAR TABLAS */

        public SIPMaeCompendio sipMaeCompendioByIdService(decimal nIdeCompendio)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.sipMaeCompendioByIdDAO(nIdeCompendio);
        }

       
        public List<SIPDetCompendio> compendioDetalleDetService(int idCompendio)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.compendioDetalleDetDAO(idCompendio);
        }

        public List<SIPDetCompGrupo> listaElementosDelGrupoService(int idCompendio)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.listaElementosDelGrupoDAO(idCompendio);
        }

        public SIPDetCompendio sipDetCompendioDetalleByIdService(decimal nIdeDetalle)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.sipDetCompendioDetalleByIdDAO(nIdeDetalle);
        }

        public IList<dynamic> ListaElemenForGrupService(string idCompendio, string nIdeDetalleAux)
        {
            String[] parametros = new String[] { idCompendio, nIdeDetalleAux };
            String[] nombreParametros = new String[] { "idCompendio", "nIdeDetalleAux" };
            IList<dynamic> lista = SqlExecutorSP.executeStore("paSIPListaElemenForGrup", parametros, nombreParametros);

            return lista;
        }

        public List<SIPDetCompendio> ListarCompendioByNombreService(decimal idCompendio, string nombre)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.ListarCompendioByNombreDAO(idCompendio, nombre);
        }

        //fin listar tablas

        public int cerrarVigenciaEnGrupoService(int nIdeGrupo, DateTime hoy)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.cerrarVigenciaEnGrupoDAO(nIdeGrupo, hoy);
        }

        public int cerrarVigenciaCompDetalleService(decimal nIdeDetalle, DateTime hoy)
        {
            CompendioManteDAO compendioManteDAO = new CompendioManteDAO();
            return compendioManteDAO.cerrarVigenciaCompDetalleDAO(nIdeDetalle, hoy);
        }

        /*
        public List<SIPDetCompendio> getListCompendioByIdService(int id)
        {
            return CacheCompendio.getInstance().getListCompendioById(id);
        }


*/


    }
}
